﻿@{
    ViewBag.Title = "分配权限";
    Layout = "~/Views/Shared/_LayoutIndex.cshtml";
}
<script>
    var ObjectId = GetQuery('ObjectId');                  //对象主键
    var Category = GetQuery('Category');                  //分类
    $(function () {
        $("#layoutRightPanel").splitter({
            splitHorizontal: true,
            outline: true,
            sizeTop: 230, minTop: 230, maxTop: 230,
            accessKey: "V"
        });
        GetTree();
        GetButton();
        GetView();
    })
    var ModuleId = "";
    //系统模块
    function GetTree() {
        var itemtree = {
            showcheck: true,
            //点击事件
            onnodeclick: function (item) {
                ModuleId = item.id;
                var checkstatus = $('.bbit-tree-selected').find('.bbit-tree-node-cb').attr('src');
                checkstatus = checkstatus.substr(checkstatus.lastIndexOf('/') + 1);
                if (checkstatus == 'checkbox_1.gif') {//判断是否选中
                    $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('a').removeClass('disabled');
                    $('#AccessView').find('[moduleid=' + ModuleId + ']').find('a').removeClass('disabled');
                }
                $(".ModuleName").html(" - " + item.text);
                $('#AccessButton li').hide();
                $('#AccessButton').find('[moduleid=' + ModuleId + ']').show();
                $("#TabToolbar").trigger("click");
                $('#AccessView  li').hide();
                $('#AccessView').find('[moduleid=' + ModuleId + ']').show();
                CheckViewState();
            },
            //点击复选框事件
            oncheckboxclick: function (item, status) {
                ModuleId = item.id;
                $(".ModuleName").html(" - " + item.text);
                if (status == 1) {
                    $('#AccessButton li').hide();
                    $('#AccessButton').find('[moduleid=' + ModuleId + ']').show();
                    $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('a').removeClass('disabled');
                    $("#TabToolbar").trigger("click");
                    $('#AccessView li').hide();
                    $('#AccessView').find('[moduleid=' + ModuleId + ']').show();
                    $('#AccessView').find('[moduleid=' + ModuleId + ']').find('a').removeClass('disabled');
                    CheckViewState();
                } else {
                    $('#AccessButton').find('[moduleid=' + ModuleId + ']').removeClass("selected");
                    $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('a').addClass('disabled');
                    $('#AccessView').find('[moduleid=' + ModuleId + ']').removeClass("selected");
                    $('#AccessView').find('[moduleid=' + ModuleId + ']').find('a').addClass('disabled');
                }
            },
            url: "@Url.Content("~/CommonModule/Permission/ModuleTree")?ObjectId=" + ObjectId + '&Category=' + Category
        };
        $("#AccessTree").treeview(itemtree);
    }
    //系统按钮
    function GetButton() {
        getAjax("/CommonModule/Permission/ButtoneList", { ObjectId: ObjectId, Category: Category }, function (data) {
            $("#AccessButton").html(data);
        });
        $("#AccessButton li").click(function () {
            var Category = "";
            if ($('#TabToolbar').hasClass('actived')) { Category = "Category_1"; } else { Category = "Category_2"; }
            if (!$(this).find('a').hasClass('disabled')) {
                if (!!$(this).hasClass("selected")) {
                    $(this).removeClass("selected");
                    $(this).find('a').removeClass(Category + 'selected');
                } else {
                    $(this).addClass("selected");
                    $(this).find('a').addClass(Category + 'selected');
                }
            }
        });
        //自定义复选框 全选/反选
        $("#CheckButton").click(function () {
            var Category = "";
            if ($('#TabToolbar').hasClass('actived')) { Category = "Category_1"; } else { Category = "Category_2"; }
            if (!$('#AccessButton').find('[moduleid=' + ModuleId + ']').find('a').hasClass('disabled')) {
                if (!!$(this).hasClass("checkAllOff")) {
                    $(this).attr('title', '反选');
                    $(this).text('反选');
                    $(this).attr('class', 'checkAllOn');
                    $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.' + Category).parent().addClass('selected');
                    $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.' + Category).addClass(Category + 'selected');
                } else {
                    $(this).attr('title', '全选');
                    $(this).text('全选');
                    $(this).attr('class', 'checkAllOff');
                    $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.' + Category).parent().removeClass('selected');
                    $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.' + Category).removeClass(Category + 'selected');
                }
            }
        })
        //工具栏点击事件
        $("#TabToolbar").click(function () {
            $(".tab_list_top div").removeClass("actived"); $(this).addClass("actived");
            $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.Category_1').parent().show();
            $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.Category_2').parent().hide();
            var a = $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.Category_1').length;//按钮个数
            var b = $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.Category_1selected').length;//按钮选中个数
            if (a != 0 && a == b) {
                $("#CheckButton").attr('title', '反选');
                $("#CheckButton").text('反选');
                $("#CheckButton").attr('class', 'checkAllOn');
            } else {
                $("#CheckButton").attr('title', '全选');
                $("#CheckButton").text('全选');
                $("#CheckButton").attr('class', 'checkAllOff');
            }
        });
        //右击菜单栏点击事件
        $("#TabRightToolbar").click(function () {
            $(".tab_list_top div").removeClass("actived"); $(this).addClass("actived");
            $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.Category_2').parent().show();
            $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.Category_1').parent().hide();
            var a = $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.Category_2').length;//按钮个数
            var b = $('#AccessButton').find('[moduleid=' + ModuleId + ']').find('.Category_2selected').length;//按钮选中个数
            if (a != 0 && a == b) {
                $("#CheckButton").attr('title', '反选');
                $("#CheckButton").text('反选');
                $("#CheckButton").attr('class', 'checkAllOn');
            } else {
                $("#CheckButton").attr('title', '全选');
                $("#CheckButton").text('全选');
                $("#CheckButton").attr('class', 'checkAllOff');
            }
        });
    }
    //系统视图
    function GetView() {
        getAjax("/CommonModule/Permission/ViewList", { ObjectId: ObjectId, Category: Category }, function (data) {
            $("#AccessView").html(data);
        });
        $("#AccessView li").click(function () {
            var Category = "View_1";
            if (!$(this).find('a').hasClass('disabled')) {
                if (!!$(this).hasClass("selected")) {
                    $(this).removeClass("selected");
                    $(this).find('a').removeClass(Category + 'selected');
                } else {
                    $(this).addClass("selected");
                    $(this).find('a').addClass(Category + 'selected');
                }
            }
        })
        //自定义复选框 全选/反选
        $("#CheckView").click(function () {
            if (!$('#AccessView').find('[moduleid=' + ModuleId + ']').find('a').hasClass('disabled')) {
                if (!!$(this).hasClass("checkAllOff")) {
                    $(this).attr('title', '反选');
                    $(this).text('反选');
                    $(this).attr('class', 'checkAllOn');
                    $('#AccessView').find('[moduleid=' + ModuleId + ']').addClass('selected');
                    $('#AccessView').find('[moduleid=' + ModuleId + ']').find('a').addClass('View_1selected');
                } else {
                    $(this).attr('title', '全选');
                    $(this).text('全选');
                    $(this).attr('class', 'checkAllOff');
                    $('#AccessView').find('[moduleid=' + ModuleId + ']').removeClass('selected');
                    $('#AccessView').find('[moduleid=' + ModuleId + ']').find('a').removeClass('View_1selected');
                }
            }
        })
    }
    function CheckViewState() {
        var a = $('#AccessView').find('[moduleid=' + ModuleId + ']').length;//按钮个数
        var b = $('#AccessView').find('[moduleid=' + ModuleId + ']').find('.View_1selected').length;//按钮选中个数
        if (a != 0 && a == b) {
            $("#CheckView").attr('title', '反选');
            $("#CheckView").text('反选');
            $("#CheckView").attr('class', 'checkAllOn');
        } else {
            $("#CheckView").attr('title', '全选');
            $("#CheckView").text('全选');
            $("#CheckView").attr('class', 'checkAllOff');
        }
    }

    //保存事件
    function AcceptClick() {
        Loading(true, "正在提交数据...");
        window.setTimeout(function () {
            //获取系统模块 信息:
            var ModuleId = ""; $('#AccessTree .bbit-tree-node-cb').each(function () {
                var _src = $(this).attr('src');
                _src = _src.substr(_src.lastIndexOf("/") + 1);
                if (_src == 'checkbox_1.gif') {
                    var _ModuleId = $(this).attr('id').substring(11).replace(/_/g, "-");
                    _ModuleId = _ModuleId.substring(0, _ModuleId.length - 3);
                    ModuleId += _ModuleId + ",";
                }
            });
            //获取系统按钮 信息:
            var ModuleButtonId = ""; $('#AccessButton .selected a').each(function () { ModuleButtonId += $(this).attr('id') + ","; });
            //获取系统视图 信息:
            var ViewDetailId = ""; $('#AccessView .selected a').each(function () { ViewDetailId += $(this).attr('id') + ","; });
            var postData = {
                ModuleId: ModuleId,
                ModuleButtonId: ModuleButtonId,
                ViewDetailId: ViewDetailId,
                ObjectId: ObjectId,
                Category: Category,
            }
            AjaxJson("/CommonModule/Permission/AuthorizedSubmit", postData, function (data) {
                tipDialog(data.Message, 3, data.Code);
                top.frames[tabiframeId()].windowload();
                closeDialog();
            });
        }, 200);
    }
</script>
<div class="note-prompt" style="margin: 1px;">
    温馨提示：选中复选框即可授予相应权限，取消选中则回收相应权限。
</div>
<div id="layout" class="layout" onselectstart="return false;" style="-moz-user-select: none;">
    <!--左边-->
    <div class="layoutPanel layout-west">
        <div class="btnbartitle">
            <div>
                系统模块 
            </div>
        </div>
        <div class="ScrollBar" id="AccessTree"></div>
    </div>
    <!--中间-->
    <div id="layoutRightPanel" class="layoutPanel layout-center">
        <div id="TopPanel">
            <div class="btnbartitle">
                <div style="float: left">
                    系统按钮 <span class="ModuleName"></span>
                </div>
                <div style="float: right">
                    <label id="CheckButton" class="checkAllOff" title="全选">全选</label>
                </div>
            </div>
            <div class="bd" style="border: none;">
                <div class="tipstitle_title settingtable bold bd todayInfoPanelTab rightPanelTitle_normal">
                    <div class="tab_list_top" style="position: absolute">
                        <div id="TabToolbar" class="tab_list bd">工具栏</div>
                        <div id="TabRightToolbar" class="tab_list bd ">右击菜单栏</div>
                    </div>
                </div>
            </div>
            <div style="height: 170px; overflow: auto;">
                <ul id="AccessButton" class="sys_spec_text">
                </ul>
            </div>
        </div>
        <div id="BottomPanel">
            <div class="btnbartitle">
                <div style="float: left">
                    系统视图 <span class="ModuleName"></span>
                </div>
                <div style="float: right">
                    <label id="CheckView" class="checkAllOff" title="全选">全选</label>
                </div>
            </div>
            <div style="height: 173px; overflow: auto;">
                <ul id="AccessView" class="sys_spec_text">
                </ul>
            </div>
        </div>
    </div>
</div>
